package com.googlecode.flightreports.flightlist;

import java.util.ArrayList;

import com.googlecode.kohmori.springmvc.DefaultReportParams;

// parameters needed to generate the report
public class ReportParams extends DefaultReportParams {

    private String airlineName;
    private String sortedBy;

    private static ArrayList<String> sortOptions = null;
    private static ArrayList<String> sortDatabaseColumns = null;

    public static ArrayList<String> getSortOptions() {
        return sortOptions;
    }

    public String getAirlineName() {
        return airlineName;
    }

    public void setAirlineName(String name) {
        this.airlineName = name;
    }

    public String getSortedBy() {
        return sortedBy;
    }

    public void setSortedBy(String sortedBy) {
        this.sortedBy = sortedBy;
    }

    public String getSortDBColumnName() {
        return sortDatabaseColumns.get(sortOptions.indexOf(sortedBy));
    }
   
    static { 
        /* Create the mapping between sorting options and their
         * corresponding database column ORDER BY fields.
         */
        sortOptions = new ArrayList<String>();
        sortDatabaseColumns = new ArrayList<String>();

        sortOptions.add("Flight Number");
        sortDatabaseColumns.add("flight_number");

        sortOptions.add("Origin City");
        sortDatabaseColumns.add("origin");
        
        sortOptions.add("Destination");
        sortDatabaseColumns.add("destination");

        sortOptions.add("Flight Length (Miles)");
        sortDatabaseColumns.add("miles");
    }       
}   
